import Vue from 'vue';
import Vuex from 'vuex';
import path from 'path';
import rootModule from './rootModule';
//在store里新建rootModule.js文件   根模块
Vue.use(Vuex);
//require.context()动态加载模块，实现store的状态分割
//读取modules的目录,不读子目录,匹配.js文件的正则表达式

const files = require.context('./modules', false, /\.js$/);
console.log(files, 'files')

files.keys().forEach(key => {
    //console.log(files(key).default)//获得一个文件
    console.log(key, 'key'); // ./article.js  key
    // 模块对应的内容
    let store = files(key).default;
    let moduleName = key.replace(/^\.\//, '').replace(/\.js$/, '');
    // let moduleName = key.replace(/^\.\/(.*)\.js$/,'$1');
    console.log(moduleName, 'moduleName'); // ./article.js  key

    const basename=path.basename(key);
    const extname=path.extname(key);

    // article.js basename .js extname
    console.log(basename,'basename',extname,'extname');
    // 动态的添加模块
    let modules = rootModule.modules = (rootModule.modules || {})
    modules[moduleName] = store;
    modules[moduleName].namespaced = true;
});

let store = new Vuex.Store(rootModule);
console.log(store, 'store');
export default store;




// import Vue from 'vue'
// import Vuex from 'vuex'
// import rootModule from './rootModule';//在store里新建rootModule.js文件   根模块

// Vue.use(Vuex);
// //require.context()动态加载模块，实现store的状态分割
// //读取modules的目录,不读子目录,匹配.js文件的正则表达式
// const files = require.context('./modules', false, /\.js$/);
// //console.log(files(key).default)//获得一个文件
// files.keys().forEach(key => {
//     // 模块对应的内容
//     let store = files(key).default;
//     let moduleName = key.replace(/^\.\//, '').replace(/\.js$/, '');
//     // 动态的添加模块
//     let modules = rootModule.modules = (rootModule.modules || {});
//     modules[moduleName] = store;
//     modules[moduleName].namespaced = true;
// });

// let store = new Vuex.Store(rootModule);
// //console.log(store)
// export default store;